package com.rd.teacher.jichao.day10;

public class TestThrow {

    public static void main(String[] args) {

        // 如果想捕获一个异常 可以使用try...catch
        try {
            // 使用try 包裹需要捕获异常的代码部分

            // 让当前的程序睡一会儿
            System.out.println("睡一会儿");
//            Thread.sleep(2000);
            throwException();
//        }catch (RuntimeException e){
        } catch (RuntimeException e) {
            // catch 后要声明捕获哪种异常并处理异常
            // catch中可以接收此异常的对象  然后处理这个对象
            // 异常往往需要被打印出来
            // 可以调用异常对象的方法 printStackTrace()
            // 意思为  打印栈信息
            e.printStackTrace();
            System.out.println("如果走进了，触发RuntimeException");
        } catch (Exception e) {

            e.printStackTrace();
            System.out.println("如果走进了，是其他Exception");
        }

        System.out.println("睡醒了");
    }

    public static void throwException() {
//        throw new RuntimeException();
//        throw new IndexOutOfBoundsException();
//        throw new ClassCastException();
//        throw  new StringIndexOutOfBoundsException();
//        throw new ConcurrentModificationException();
//        throw new NoSuchElementException();
        throw new NumberFormatException();
    }


}
